﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using VisionCloud.Core.Model.Ms;

namespace VisionCloud.Domain.Repository.Interface.Ms
{
    public interface IMsProjectStandardMeasureItemValueRepository : IBaseRepository<MsProjectStandardMeasureItemValue>
    {
        /// <summary>
        /// 根据阶段获取测量项偏差值
        /// </summary>
        /// <param name="projectStandardId">阶段UUID</param>
        /// <returns></returns>
        Task<List<MsProjectStandardMeasureItemValue>> GetList(Guid projectStandardId, Guid ProjectGuid);

        Task<List<MsProjectStandardMeasureItemValue>> GetTemplateList();

        Task<List<MsProjectStandardMeasureItemValue>> GetDataByProjects(Guid[] projectIds);

        /// <summary>
        /// 根据项目阶段Id过滤
        /// </summary>
        /// <param name="projectIds">项目Id</param>
        /// <param name="excludeStandard">过滤项目阶段Id</param>
        /// <returns></returns>
        Task<List<MsProjectStandardMeasureItemValue>> GetDataByProjectsWithStandardId(Guid[] projectIds, Guid excludeStandard);
    }
}